jjzjj

c++ - Clang、std::next、libstdc++ 和 constexpr-ness

全部标签

xml - 我可以在不使用编译器的情况下使用 clang 获取 C/C++ 代码的 XML AST 转储吗?

我成功地使用cmake和visualstudio10为windows编译了clang。我想要一个XML文件作为源代码的AST表示。有一个选项可以在linux(ubuntu)下使用gccclang提供结果,但在Windowsbox上不起作用:clang-cc1-ast-print-xmlsource.c但是,这是调用编译阶段(我想避免)。就我对clang的陌生程度而言,挖掘源代码对我没有帮助。我可以使用以下方法生成AST的二进制版本:clang-emit-astsource.c不幸的是,这种格式不能直接用于解析。是否有一些现有的方法可以直接生成XML树而不是clang中的二进制树?目标是

c++ - 如何将用 linux 编写的 std::wstring 读入 windows

我们有一个在Windows和Linux上运行的程序。它以二进制形式将std::wstrings写入文件。我们需要能够将从Linux写入的文件读入Windows。我们将字符串写成wchar_t的列表。在linux上每个wchar_t占用4个字节。在Windows上每个wchar_t占用2个字节。Windows把linux写的文件读进去,怎么把4字节的wchar_t放到2字节的wchar_t里呢?谢谢,亚当 最佳答案 您可以使用UTF8-CPP轻松地将文件从UTF-32转换为UTF-16:#include#include#include

windows - 如何为本地 Windows 用户启用用户标志 'User must change password at next logon'?

我想通过powershell脚本启用用户标志“用户必须在下次登录时更改密码”。对于标志帐户已禁用,我执行了以下操作:$user=[ADSI]'WinNT://localhost/account23';$user.userflags=2;$user.setinfo();是否可以用类似的方式为“用户必须在下次登录时更改密码”添加用户标志? 最佳答案 可以通过以下方式启用标志“用户必须在下次登录时更改密码”:$user.passwordExpired=1;$user.setinfo(); 关于

c++ - 从源代码构建的 Clang 编译 C 但不编译 C++ 代码

我最近在Windows上编译了clang(主机:x86_64-pc-windows64;编译器:i686-pc-mingw32;目标:i686-pc-mingw32)。可以找到CMakeCache(用于配置):here我的问题是,虽然clang工作正常(对于C),但clang++(对于C++)将“成功”编译和链接,但生成的程序本身不会运行并将退出并返回错误代码1。下面是示例(哦-我的-zsh):➜bincattest.c#includeintmain(){printf("HelloWorld!\n");return0;}➜bincattest.cpp#includeintmain(){

c++ - 与 __stdcall 函数指针声明等价的 clang 是什么?

我有以下函数指针声明:externlong(__stdcall*FooPtr)(int*i);也就是说,一个函数指针指向一个函数,该函数将使用stdcall调用约定(在VS术语中)调用。我怎样才能翻译这个声明让clang理解它? 最佳答案 __attribute__((stdcall))是正确答案:clang支持thefollowinglistofattributes在语法上,它与gcc的非常相似。例如#ifdefined(__clang__)||defined(__GNUC__)#definestdCallConv__attrib

windows - 使用 GCC-4.9.1_x64 编译 Clang 时命令语法不正确

在Windows系统上遇到一些关于cmake和gcc-4.9.1的问题,并花了2个多小时用clang构建llvm之后,我遇到了一个非常好的错误,我似乎找不到相关信息。我已根据文档完成所有操作,这里是make给我的讲故事的错误消息:ScanningdependenciesoftargetLTO_exports[69%]CreatingexportfileforLTOThesyntaxofthecommandisincorrect.make[2]:***[tools/lto/LTO.def]Error1make[1]:***[tools/lto/CMakeFiles/LTO_exports

c++ - 我在哪里可以找到与 Clang 假设的目录结构相同的 mingw32?

抱歉,我在哪里可以找到与Clang假设的目录结构相同的mingw32?我从这里下载了32位版本http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/还有一个来自这里http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-posix/dwarf/但所有这些都与我运行时clang搜索的内容不同:c

使用 std::future 的 C++ 程序拒绝在 Windows XP Embedded 上运行

如果我#include在我的程序中使用std::async该程序拒绝在WindowsXPEmbedded上运行。现在我知道XPE基于XPSP2,我在某处读到您需要SP3才能充分利用WinXP上的多线程应用程序,对吗?我能做些什么来修补我的XPE以使其运行多线程应用程序吗?当我打开任务管理器时,我看到两个CPU图表,处理器是ATOMD2500@1.86GHz,规范显示它是双核/2线程。 最佳答案 从Windows2000之前,Windows就支持多线程,实际上已经有几十年了。当然,您可能会在较新的Windows版本上获得几个百分点的性

python - Pandas Rolling_std with Window 使用所有以前的行数

我想计算每日yield的rolling_std,使用当前行之前的所有记录。如何设置窗口以使用行的滚动计数?例如:在04-04上。我想使用所有行来计算,在04-01我想使用日期小于04-01的所有行。DateDailyStd4/4/2016-0.003087335?4/1/20160.006480923?3/31/2016-0.001553158?3/30/20160.004351748?3/29/20160.009234222? 最佳答案 在pandas0.18中,使用Rolling对象。这是为期2天的滚动标准:df.rolling

c++ - Windows 上 emacs 中的 company-clang 模式

我在让clang在emacs上使用公司模式的最后一步遇到了问题。我有(setenv"PATH"(concat(getenv"PATH")";C:\\ProgramFiles(x86)\\MicrosoftVisualStudio14.0\\VC\\bin\\amd64;C:\\ProgramFiles(x86)\\MicrosoftVisualStudio14.0\\VC\\bin\\amd64\\amd64;"))(custom-set-variables'(company-c-headers-path-system(quote("c:/users/chowron/Documents